import numpy as np
import matplotlib.pyplot as plt
import scienceplots  # 导入scienceplots以使用SCI风格

# 使用SCI风格且不启用LaTeX
plt.style.use(['science', 'no-latex'])

# 数据准备 - x范围为0到24，表示一天24小时（正好一个完整周期）
x_hours = np.linspace(0, 24, 1000)  # 小时范围0-24
y = 4 * np.sin(np.pi/12 * x_hours - np.pi + np.pi/4)  # 计算函数值：-4sin(π/12 * x)

# 创建图形
fig, ax = plt.subplots(figsize=(6, 4), dpi=300)

# 绘制曲线
ax.plot(x_hours, y, label='y=4sin(pi/12*x - 3/4*pi)')

# 设置标签和标题
ax.set_xlabel('Time (Hour)', fontsize=12)
ax.set_ylabel('Value', fontsize=12)
ax.set_title('Diurnal Variation Chart (24-hour Period)', fontsize=14, pad=10)

# 设置坐标轴范围和刻度
ax.set_xlim(0, 24)
ax.set_ylim(-5, 5)  # 函数值范围在-4到4之间，留一点余量
ax.set_xticks(np.arange(0, 25, 3))  # 每3小时一个刻度
ax.set_yticks(np.arange(-4, 5, 2))  # y轴刻度

# 添加图例和网格
ax.legend(frameon=True)
ax.grid(alpha=0.5, linestyle='--')

# 紧凑布局并保存
plt.tight_layout()
plt.savefig('p2.png', dpi=300)
plt.show()
    